#include <vector>
#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char const *argv[])
{
  /* code */
  // 处理输入
  int cows = 0;
  ifstream ifs("OutOfPlace.in");
  ifs >> cows;

  // 捣乱的 Bessie 它乱跑之后
  vector<int> heights(cows, 0);

  for (int i = 0; i < cows; ++i) {
    ifs >> heights[i];
  }

  vector<int> sortedHeights(heights);
  // 从大到小排序 sorted
  sort(sortedHeights.begin(), sortedHeights.end(), greater<int>()/*函数对象*/);

  // 通过交换，把 heights 变成 sorted
  // 1 X
  // 2
  // 5 3
  // + +
  // 3 5 交换 1 次，有 2 处差异

  // 5 4 4 3
  // + + = +
  // 3 5 4 4 交换 2 次，有 3 处差异

  // 6 5 4 3
  // + + + +
  // 3 6 5 4 交换 3 次，有 4 处差异

  int result = 0;
  for (int i = 0; i < cows; ++i) {
    if (sortedHeights[i] != heights[i]) {
      ++result;
    }
  }

  result -= 1;

  ofstream ofs("OutOfPlace.out");
  ofs << result;

  return 0;
}
